﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sistema_Totem.Presentacion.Presentador.Propuestas;
using Sistema_Totem.Presentacion.Contrato.Propuestas;
using System.Web.SessionState;
using Sistema_Totem.Clases;

namespace Sistema_Totem.Presentacion.Vista.Propuestas
{
    public partial class EliminarPropuesta : System.Web.UI.Page, IContratoEliminarPropuesta
    {
        private PresentadorEliminarPropuesta _presentador;

        /// <summary>
        /// Constructor de la pagina EliminarPropuesta
        /// </summary>
        public EliminarPropuesta()
        {
            _presentador = new PresentadorEliminarPropuesta(this);
        }

        /// <summary>
        /// Page Load de la pagina AgregarPropuesta, verifica si el proyecto tiene una propuesta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Sesion["usuario"] == null || Sesion["proyecto"] == null || (Sesion["usuario"] as Usuario).TipoUsuario == "Administrador")
                Response.Redirect("../Login/login.aspx");
            else
            _presentador.ValidarExistenciaPropuesta();
        }

        /// <summary>
        /// Metodo que se dispara al presionar el boton Eliminar
        /// llama al presentador para elimiar la propuesta
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ButtonEliminar_Click(object sender, EventArgs e)
        {
            _presentador.EliminarPropuesta();
        }

        /// <summary>
        /// Metodo que se dispara al presionar el boton cancelar
        /// redirecciona a la pagina principal del proyecto
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ButtonCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("../Proyectos/ConsultarProyecto.aspx");
        }

        #region Implementacion Contrato

        /// <summary>
        /// Get del label informativo
        /// </summary>
        public Label etiquetaMensajeInformativo
        {
            get { return LabelMensajeInformativo; }
        }

        /// <summary>
        /// Get del label de confirmacion
        /// </summary>
        public Label etiquetaMensajeConfirmacion
        {
            get { return LabelMensajeConfirmacion; }
        }

        /// <summary>
        /// Get del boton eliminar
        /// </summary>
        public Button botonEliminar
        {
            get { return ButtonEliminar; }
        }

        /// <summary>
        /// Get del boton cancelar
        /// </summary>
        public Button botonCancelar
        {
            get { return ButtonCancelar; }
        }

        /// <summary>
        /// Get de la variable de sesion
        /// </summary>
        public HttpSessionState Sesion
        {
            get { return Session; }
        }


        #endregion Implementacion Contrato
    }
}